package com.yincheng.oes.business.base.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.yincheng.oes.business.base.entity.KnowledgeOutline;

/**
 *
 * @author yangsy
 * @version 1.0.0
 * @since
 * 创建时间：2018年7月13日
 * 功能描述：大纲（知识点）增删改相关接口
 * 邮箱地址：446948434@qq.com
 */
@Repository
public interface KnowledgeOutlineMapper {
    /**
     * 根据主键id删除
     *
     * @param id
     * @return
     */
    int deleteById(Integer id);

    /**
     * 插入大纲信息
     *
     * @param record
     * @return
     */
    int insert(KnowledgeOutline record);

    /**
     * 根据id查询大纲信息
     *
     * @param id
     * @return
     */
    KnowledgeOutline selectById(Integer id);

    /**
     * 更新大纲信息
     *
     * @param record
     * @return
     */
    int update(KnowledgeOutline record);

    /**
     * 根据父级id获取子节点列表信息
     *
     * @param parentId
     * @return
     */
    List<KnowledgeOutline> selectByParentId(@Param(value = "parentId") Integer parentId);

    /**
     * 根据年代和类型查询一级节点
     *
     * @param yearNum
     * @param outlineType
     * @return
     */
    List<KnowledgeOutline> selectByYearAndType(@Param(value = "yearNum") Integer yearNum,
            @Param(value = "outlineType") String outlineType);

    /**
     * 根据题目id查询关联的大纲列表
     *
     * @param quesId
     * @return
     */
    List<KnowledgeOutline> selectByQuesId(Integer quesId);

}
